package com.framework.loippi.entity;

import com.framework.loippi.mybatis.eitity.GenericEntity;
import com.framework.loippi.mybatis.ext.annotation.Column;
import com.framework.loippi.mybatis.ext.annotation.Table;

import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Entity - 消息表
 * 
 * @author wmj
 * @version 2.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "T_SYSTEM_MESSAGE")
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties({ "handler","hibernateLazyInitializer" }) 
@ApiModel(value="消息表",description="消息表")
public class SystemMessage implements GenericEntity {

	private static final long serialVersionUID = 5081846432919091193L;

	/**  */
	@Column(id = true, name = "id", updatable = false)
	@ApiModelProperty(value = "")
	private Long id;
	
	/** 推送对象（1-全部用户 2-部分用户） */
	@Column(name = "push_object" )
	@ApiModelProperty(value = "推送对象（1-全部用户 2-部分用户）")
	private Integer pushObject;
	
	/** 目标用户id */
	@Column(name = "target_id" )
	@ApiModelProperty(value = "目标用户id")
	private Long targetId;
	
	/** 消息内容 */
	@Column(name = "content" )
	@ApiModelProperty(value = "消息内容")
	private String content;
	
	/** 关联业务对象id */
	@Column(name = "rel_object_id" )
	@ApiModelProperty(value = "关联业务对象id")
	private Long relObjectId;
	
	/** 推送方式（1-通知栏推送 2-APP内消息中心推送 3-短信推送） */
	@Column(name = "message_type" )
	@ApiModelProperty(value = "推送方式（1-通知栏推送 2-APP内消息中心推送 3-短信推送）")
	private Integer messageType;
	
	/** 发起时间 */
	@Column(name = "create_time" )
	@ApiModelProperty(value = "发起时间")
	private java.util.Date createTime;
	
	/** 状态 */
	@Column(name = "status" )
	@ApiModelProperty(value = "状态")
	private Integer status;
	
	/** 推送人数 */
	@Column(name = "push_count" )
	@ApiModelProperty(value = "推送人数")
	private Integer pushCount;
	
	/** 推送时间 */
	@Column(name = "push_time" )
	@ApiModelProperty(value = "推送时间")
	private java.util.Date pushTime;
	
	/** 消息标题 */
	@Column(name = "title" )
	@ApiModelProperty(value = "消息标题")
	private String title;
	
	
}
